<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>31-原型对象prototype</title>
  </head>
  <body>
    <script>
      // 1. 构造函数实现封装，封装人的姓名、年龄和 sayHi方法
        function Person(name, age) {
            this.name = name
            this.age = age
            // this.sayHi = function () {
            //     console.log('你好！')
            // }
        }

        Person.prototype.sayHi = function () {
          console.log('你好！')
        }
        console.log(Person.prototype) // {sayHi: ƒ} 原型对象
        

        // 实例化（实例对象使用属性和方法）
        const zs = new Person('张三', 18)
        const ls = new Person('李四', 19)
        zs.sayHi()
        ls.sayHi()

        // console.log(zs)
        // console.log(ls)

        // console.log(zs === ls) // false


        // // 2. 构造函数实现封装有个小问题
        console.log(zs.sayHi === ls.sayHi) // true
        
        


    </script>
  </body>
</html>
